home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 October: Mac OS SDK / Dev.CD Oct 00 SDK1.toast / Development Kits / Mac OS / Installer SDK 1.2.3 / Upgrader 1.2.3 & Engines / Upgrader 1.2.3 / Plug-in Examples / Common Files / Editor Utilities / LStyledTextEdit.h < prev   
Encoding:
Text File  |  1997-06-13  |  3.0 KB  |  112 lines  |  [TEXT/CWIE]

  1. // ===========================================================================
  2. //    LTextEdit.h                   ©1994-1996 Metrowerks Inc. All rights reserved.
  3. // ===========================================================================
  4.  
  5. #ifndef _H_LStyledTextEdit
  6. #define _H_LStyledTextEdit
  7. #pragma once
  8.  
  9. #if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
  10.     #pragma import on
  11. #endif
  12.  
  13. #include <LView.h>
  14. #include <LCommander.h>
  15. #include <LPeriodical.h>
  16.  
  17. #ifndef __TEXTEDIT__
  18. #include <TextEdit.h>
  19. #endif
  20.  
  21. /*
  22. enum {
  23.     textAttr_MultiStyle        = 0x8000,
  24.     textAttr_Editable        = 0x4000,
  25.     textAttr_Selectable        = 0x2000,
  26.     textAttr_WordWrap        = 0x1000
  27. };
  28. */
  29. typedef struct    SStyledTextEditUndo {
  30.     Handle    textH;
  31.     Int16    selStart;
  32.     Int16    selEnd;
  33. } SStyledTextEditUndo, **SStyledTextEditUndoH;
  34.  
  35.  
  36. class LStyledTextEdit : public LView,
  37.                   public LCommander,
  38.                   public LPeriodical {
  39. public:
  40.     enum { class_ID = 'stxt' };
  41.     static LStyledTextEdit*    CreateStyledTextEditStream(LStream *inStream);
  42.  
  43.                         LStyledTextEdit();
  44.                         LStyledTextEdit(const SPaneInfo &inPaneInfo,
  45.                                 const SViewInfo &inViewInfo,
  46.                                 Uint16 inTextAttributes,
  47.                                 ResIDT inTextTraitsID);
  48.                         LStyledTextEdit(LStream *inStream);
  49.     virtual                ~LStyledTextEdit();
  50.     
  51.     virtual void        SetTextHandle(Handle inTextH, TEStyleHandle inStylH = NULL );
  52.     virtual void        SetTextPtr(Ptr inTextP, Int32 inTextLen);
  53.     virtual Handle        GetTextHandle();
  54.     virtual StScrpHandle    GetStyleScrapHandle();
  55.     TEHandle            GetMacTEH();
  56.     
  57.     virtual void        SetTextTraitsID(ResIDT inTextTraitsID);
  58.     Boolean                HasAttribute(Uint16 inAttribute);
  59.  
  60.     virtual Boolean        ObeyCommand(CommandT inCommand, void *ioParam);
  61.     virtual void        FindCommandStatus(CommandT inCommand,
  62.                             Boolean &outEnabled, Boolean &outUsesMark,
  63.                             Char16 &outMark, Str255 outName);
  64.     virtual    void        SpendTime(const EventRecord &inMacEvent);
  65.     
  66.     virtual Boolean        HandleKeyPress(const EventRecord& inKeyEvent);
  67.     
  68.     virtual void        ResizeFrameBy(Int16 inWidthDelta, Int16 inHeightDelta,
  69.                                     Boolean inRefresh);
  70.     
  71.     virtual void        MoveBy(Int32 inHorizDelta, Int32 inVertDelta,
  72.                                     Boolean inRefresh);
  73.     virtual void        ScrollImageBy(Int32 inLeftDelta, Int32 inTopDelta,
  74.                                     Boolean inRefresh);
  75.  
  76.     virtual Boolean        FocusDraw();
  77.     virtual void        SelectAll();
  78.     void                SelectNone();
  79.     virtual void        UserChangedText();
  80.     virtual void        AdjustImageToText();
  81.     
  82.     virtual void        SavePlace(LStream *outPlace);
  83.     virtual void        RestorePlace(LStream *inPlace);
  84.                 
  85. protected:
  86.     TEHandle            mTextEditH;
  87.     ResIDT                mTextTraitsID;
  88.     Uint16                mTextAttributes;
  89.  
  90.     virtual void        DrawSelf();
  91.     virtual void        HideSelf();
  92.     
  93.     virtual void        ClickSelf(const SMouseDownEvent &inMouseDown);
  94.     virtual void        AdjustCursorSelf(Point inPortPt,
  95.                                     const EventRecord &inMacEvent);
  96.     
  97.     virtual void        BeTarget();
  98.     virtual void        DontBeTarget();
  99.     
  100.     virtual void        AlignTextEditRects();
  101.     
  102.     virtual SStyledTextEditUndoH        SaveStateForUndo();
  103.     
  104. private:
  105.     void                InitStyledTextEdit(ResIDT inTextTraitsID);
  106. };
  107.  
  108. #if defined(__CFM68K__) && !defined(__USING_STATIC_LIBS__)
  109.     #pragma import reset
  110. #endif
  111.  
  112. #endif